/*
 * OctTreeInternalNode.h
 *
 *  Created on: Sep 25, 2011
 *      Author: vilches
 */
#include "OctTreeNode.h"

#ifndef OCTTREEINTERNALNODE_H_
#define OCTTREEINTERNALNODE_H_

class OctTreeInternalNode: public OctTreeNode {
public:
	OctTreeInternalNode();
	static OctTreeInternalNode *NewNode(const double px, const double py, const double pz);
	static void RecycleTree();
	//void Insert(OctTreeLeafNode * const b, const double r);
	void ComputeCenterOfMass(int &curr);

public:
	OctTreeNode *child[8];
private:
	OctTreeInternalNode *link;
	static OctTreeInternalNode *head, *freelist;
};
#endif /* OCTTREEINTERNALNODE_H_ */
